Source file ⇒ rosa_graphs.Rmd
UC_arrests_noncampus = read.csv("NorCal SoCal/Public_UC_Arrests_Noncampus.csv")
UC_arrests_campus = read.csv("NorCal SoCal/Public_UC_Arrests_On_Campus.csv")
UC_arrests_housing = read.csv("NorCal SoCal/Public_UC_Arrests_On_campus_Student_Housing_Facilities.csv")
UC_criminal_noncampus = read.csv("NorCal SoCal/Public_UC_Criminal_Offenses_Noncampus.csv")
UC_criminal_campus = read.csv("NorCal SoCal/Public_UC_Criminal_Offenses_On_campus.csv")
UC_criminal_housing = read.csv("NorCal SoCal/Public_UC_Criminal_Offenses_On_campus_Student_Housing_Facilities.csv")
UC_disciplinary_noncampus = read.csv("NorCal SoCal/Public_UC_Disciplinary_Actions_Noncampus.csv")
UC_disciplinary_campus = read.csv("NorCal SoCal/Public_UC_Disciplinary_Actions_On_campus.csv")
UC_disciplinary_housing = read.csv("NorCal SoCal/Public_UC_Disciplinary_Actions_Student_Housing_Facilities.csv")
UC_VAWA_noncampus = read.csv("NorCal SoCal/Public_UC_VAWA_Offenses_Noncampus.csv")
UC_VAWA_campus = read.csv("NorCal SoCal/Public_UC_VAWA_Offenses_On_campus.csv")
UC_VAWA_housing = read.csv("NorCal SoCal/Public_UC_VAWA_Offenses_On_campus_Student_Housing_Facilities.csv")
NUC_arrests_noncampus = read.csv("NorCal SoCal/Public_NUC_Arrests_Noncampus.csv")
NUC_arrests_campus = read.csv("NorCal SoCal/Public_NUC_Arrests_On_campus.csv")
NUC_arrests_housing = read.csv("NorCal SoCal/Public_NUC_Arrests_On_campus_Student_Housing_Facilities.csv")
NUC_criminal_noncampus = read.csv("NorCal SoCal/Public_NUC_Criminal_Offenses_Noncampus.csv")
NUC_criminal_campus = read.csv("NorCal SoCal/Public_NUC_Criminal_Offenses_On_campus.csv")
NUC_criminal_housing = read.csv("NorCal SoCal/Public_NUC_Criminal_Offenses_On_campus_Student_Housing_Facilities.csv")
NUC_disciplinary_noncampus = read.csv("NorCal SoCal/Public_NUC_Disciplinary_Actions_Noncampus.csv")
NUC_disciplinary_campus = read.csv("NorCal SoCal/Public_NUC_Disciplinary_Actions_On_campus.csv")
NUC_disciplinary_housing = read.csv("NorCal SoCal/Public_NUC_Disciplinary_Actions_Student_Housing_Facilities.csv")
NUC_VAWA_noncampus = read.csv("NorCal SoCal/Public_NUC_VAWA_Offenses_Noncampus.csv")
NUC_VAWA_campus = read.csv("NorCal SoCal/Public_NUC_VAWA_Offenses_On_campus.csv")
NUC_VAWA_housing = read.csv("NorCal SoCal/Public_NUC_VAWA_Offenses_On_campus_Student_Housing_Facilities.csv")
for(i in range(3)) {
}
UC_criminal <- merge(UC_criminal_noncampus, UC_criminal_campus, by=c("Survey.year", "Institution.name", "Institution.Size"))
UC_criminal <- merge(UC_criminal, UC_criminal_housing, by=c("Survey.year", "Institution.name", "Institution.Size"))
UC_criminal <- UC_criminal %>% select(Survey.year, Institution.name, contains("Weapons"))
Arrests <- c("Weapons", "Drugs", "Liquor")
ArrestsPerStudent <- paste(Arrests, "PerStudent", sep="")
Crimes <- c("ForcibleSexOffenses", "Assault", "Burglary", "CarTheft", "Arson", "Total")
CrimesPerStudent <- paste(Crimes, "PerStudent", sep="")
VAWA <- c("DomesticViolence", "DatingViolence", "Stalking", "Rape", "Fondling", "StatutoryRape")
VAWAPerStudent <- paste(VAWA, "PerStudent", sep="")
filterArrests <- function(data) {
return(data %>% filter(!grepl("Hastings", data$Institution.name)) %>%
filter(!is.na(Institution.Size)) %>%
mutate(Weapons = Illegal.weapons.possession,
Drugs = Drug.law.violations,
Liquor = Liquor.law.violations) %>%
mutate(WeaponsPerStudent = Weapons/Institution.Size,
DrugsPerStudent = Drugs/Institution.Size,
LiquorPerStudent = Liquor/Institution.Size) %>%
mutate(Total = Weapons + Drugs + Liquor, TotalPerStudent = Total/Institution.Size) %>%
select(Survey.year, Institution.name, one_of(Arrests), one_of(ArrestsPerStudent)))
}
filterCriminal <- function(data){
data %>% filter(!grepl("Hastings", data$Institution.name)) %>%
filter(!is.na(Institution.Size)) %>%
mutate(ForcibleSexOffenses = Sex.offenses...Forcible,
Assault = Aggravated.assault,
CarTheft = Motor.vehicle.theft) %>%
mutate(ForcibleSexOffensesPerStudent = ForcibleSexOffenses/Institution.Size,
AssaultPerStudent = Assault/Institution.Size,
BurglaryPerStudent = Burglary/Institution.Size,
CarTheftPerStudent = CarTheft/Institution.Size,
ArsonPerStudent = Arson/Institution.Size) %>%
mutate(Total = ForcibleSexOffenses + Assault + Burglary + CarTheft + Arson,
TotalPerStudent = Total/Institution.Size) %>%
select(Survey.year, Institution.name, one_of(Crimes), one_of(CrimesPerStudent))
}
filterVAWA <- function(data) {
data %>% filter(!grepl("Hastings", data$Institution.name)) %>%
filter(!is.na(Institution.Size)) %>%
mutate(DomesticViolence = Domestic.violence,
DatingViolence = Dating.violence,
StatutoryRape = Statutory.Rape) %>%
mutate(DomesticViolencePerStudent = DomesticViolence/Institution.Size,
DatingViolencePerStudent = DatingViolence/Institution.Size,
StalkingPerStudent = Stalking/Institution.Size,
RapePerStudent = Rape/Institution.Size,
FondlingPerStudent = Fondling/Institution.Size,
StatutoryRapePerStudent = StatutoryRape/Institution.Size) %>%
mutate(Total = DomesticViolence + DatingViolence + Stalking + Rape + Fondling + StatutoryRape) %>%
select(Survey.year, Institution.name, one_of(VAWA), one_of(VAWAPerStudent))
}
sumSexOffenses <- function(data) {
return(data %>% mutate(Sex.offenses...Forcible = ifelse(Survey.year > 2013, Rape + Fondling, Sex.offenses...Forcible)) %>%
mutate(Sex.offenses...Non.forcible = ifelse(Survey.year > 2013, Incest + Statutory.rape, Sex.offenses...Non.forcible)))
}
updatedNames <- function(data, UC=TRUE) {
if (UC) {
return(gsub(".*-", "", data$Institution.name))
} else {
data$Institution.name <- gsub("California State University", "CSU", data$Institution.name)
data$Institution.name <- gsub(".*Polytechnic.*-", "CalPoly-", data$Institution.name)
return(data$Institution.name)
}
}
getBerkeley <- function(data) {
return(data %>% filter(grepl("Berkeley", data$Institution.name)))
}
sumNonBerkeley <- function(data, UC=TRUE) {
data = data %>% filter(!grepl("Berkeley", data$Institution.name)) %>%
group_by(Survey.year) %>%
summarise_each(funs(mean))
if (UC) {
return(data %>% mutate(Institution.name = "Other UCs"))
} else {
return(data %>% mutate(Institution.name = "Non-UCs"))
}
}
massPlot <- function(data, cols) {
for(col in cols) {
print(data %>% ggplot(aes(x = Survey.year, col=Institution.name)) + geom_line(aes_string(y=col)))
}
}
UC_arrests_campus = filterArrests(UC_arrests_campus)
UC_arrests_campus$Institution.name <- updatedNames(UC_arrests_campus)
Berkeley_arrests_campus = getBerkeley(UC_arrests_campus)
Other_UC_arrests_campus = sumNonBerkeley(UC_arrests_campus)
summedUC_arrests = rbind(Berkeley_arrests_campus, Other_UC_arrests_campus)
massPlot(UC_arrests_campus, Arrests)
massPlot(UC_arrests_campus, ArrestsPerStudent)
massPlot(summedUC_arrests, Arrests)
massPlot(summedUC_arrests, ArrestsPerStudent)
UC_criminal_campus = sumSexOffenses(UC_criminal_campus)
UC_criminal_campus = filterCriminal(UC_criminal_campus)
UC_criminal_campus$Institution.name = updatedNames(UC_criminal_campus)
Berkeley_criminal_campus = getBerkeley(UC_criminal_campus)
Other_UC_criminal_campus = sumNonBerkeley(UC_criminal_campus)
summedUC_criminal = rbind(Berkeley_criminal_campus, Other_UC_criminal_campus)
massPlot(UC_criminal_campus, Crimes)
massPlot(UC_criminal_campus, CrimesPerStudent)
massPlot(summedUC_criminal, Crimes)
massPlot(summedUC_criminal, CrimesPerStudent)
UC_disciplinary_campus = filterArrests(UC_disciplinary_campus)
UC_disciplinary_campus$Institution.name = updatedNames(UC_disciplinary_campus)
Berkeley_disciplinary_campus = getBerkeley(UC_disciplinary_campus)
Other_UC_disciplinary_campus = sumNonBerkeley(UC_disciplinary_campus)
summedUC_disciplinary_campus = rbind(Berkeley_disciplinary_campus, Other_UC_disciplinary_campus)
massPlot(UC_disciplinary_campus, Arrests)
massPlot(UC_disciplinary_campus, ArrestsPerStudent)
massPlot(summedUC_disciplinary_campus, Arrests)
massPlot(summedUC_disciplinary_campus, ArrestsPerStudent)
UC_VAWA_campus = filterVAWA(UC_VAWA_campus)
UC_VAWA_campus$Institution.name = updatedNames(UC_VAWA_campus)
Berkeley_VAWA_campus = getBerkeley(UC_VAWA_campus)
Other_UC_VAWA_campus = sumNonBerkeley(UC_VAWA_campus)
summedUC_VAWA_campus = rbind(Berkeley_VAWA_campus, Other_UC_VAWA_campus)
massPlot(UC_VAWA_campus, VAWA)
massPlot(UC_VAWA_campus, VAWAPerStudent)
massPlot(summedUC_VAWA_campus, VAWAPerStudent)
massPlot(summedUC_VAWA_campus, VAWAPerStudent)
Disciplinary Actions vs. Arrests (Students vs. Community)
compareDiscplinaryArrests <- function(disciplinary, arrests) {
combined <- merge(disciplinary, arrests, by=c("Survey.year", "Institution.name"))
UC_criminal_campus$Institution.name = gsub(".*-", "", UC_criminal_campus$Institution.name)
names(combined) <- gsub("y$","Arrests", names(combined))
names(combined) <- gsub("x$","Disciplinary", names(combined))
for(crime in Arrests) {
crime_x = paste(crime, "Disciplinary", sep=".")
crime_y = paste(crime, "Arrests", sep=".")
print(combined %>% ggplot(aes(col=Institution.name)) + geom_point(aes_string(x=crime_x, y=crime_y)))
}
}
compareDiscplinaryArrests(UC_disciplinary_campus, UC_arrests_campus)
NUC_arrests_campus = filterArrests(NUC_arrests_campus)
NUC_arrests_campus$Institution.name <- updatedNames(NUC_arrests_campus, FALSE)
Berkeley_NUC_arrests_campus = rbind(Berkeley_arrests_campus, NUC_arrests_campus)
Berkeley_summedNUC_arrests_campus = rbind(Berkeley_arrests_campus, sumNonBerkeley(NUC_arrests_campus, FALSE))
massPlot(NUC_arrests_campus, Arrests)
massPlot(NUC_arrests_campus, ArrestsPerStudent)
massPlot(Berkeley_NUC_arrests_campus, Arrests)
massPlot(Berkeley_NUC_arrests_campus, ArrestsPerStudent)
massPlot(Berkeley_summedNUC_arrests_campus, Arrests)
massPlot(Berkeley_summedNUC_arrests_campus, ArrestsPerStudent)
NUC_criminal_campus = sumSexOffenses(NUC_criminal_campus)
NUC_criminal_campus = filterCriminal(NUC_criminal_campus)
NUC_criminal_campus$Institution.name = updatedNames(NUC_criminal_campus, FALSE)
Berkeley_NUC_criminal_campus = rbind(Berkeley_criminal_campus, NUC_criminal_campus)
Berkeley_summedNUC_criminal_campus = rbind(Berkeley_criminal_campus, sumNonBerkeley(NUC_criminal_campus, FALSE))
massPlot(Berkeley_NUC_criminal_campus, Crimes)
massPlot(Berkeley_NUC_criminal_campus, CrimesPerStudent)
massPlot(Berkeley_summedNUC_criminal_campus, Crimes)
massPlot(Berkeley_summedNUC_criminal_campus, CrimesPerStudent)
NUC_disciplinary_campus = filterArrests(NUC_disciplinary_campus)
NUC_disciplinary_campus$Institution.name = updatedNames(NUC_disciplinary_campus, FALSE)
Berkeley_NUC_disciplinary_campus = rbind(Berkeley_disciplinary_campus, NUC_disciplinary_campus)
Berkeley_summedNUC_disciplinary_campus = rbind(Berkeley_disciplinary_campus, sumNonBerkeley(NUC_disciplinary_campus, FALSE))
massPlot(Berkeley_NUC_disciplinary_campus, Arrests)
massPlot(Berkeley_NUC_disciplinary_campus, ArrestsPerStudent)
massPlot(Berkeley_summedNUC_disciplinary_campus, Arrests)
massPlot(Berkeley_summedNUC_disciplinary_campus, ArrestsPerStudent)
NUC_VAWA_campus = filterVAWA(NUC_VAWA_campus)
NUC_VAWA_campus$Institution.name = updatedNames(NUC_VAWA_campus)
Berkeley_NUC_VAWA_campus = rbind(Berkeley_VAWA_campus, NUC_VAWA_campus)
Berkeley_summedNUC_VAWA_campus = rbind(Berkeley_VAWA_campus, sumNonBerkeley(NUC_VAWA_campus))
massPlot(Berkeley_NUC_VAWA_campus, VAWA)
massPlot(Berkeley_NUC_VAWA_campus, VAWAPerStudent)
massPlot(Berkeley_summedNUC_VAWA_campus, VAWAPerStudent)
massPlot(Berkeley_summedNUC_VAWA_campus, VAWAPerStudent)